<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /* 
        如果给一个变量赋值 
        1. 现在自己作用域查找有没有这个变量 如果有直接赋值
        2. 如果没有这个变量 往上一级作用域查找 如果有赋值给父作用域的变量 
        3. 如果父作用域也咩有 继续往上查找  直到 window 
        4. window 有直接赋值  如果没有 这个变量就被看成全局变量 



        
        
        
        */
        // var num1 = 100; // 全局变量
        // function fn1(){
        //     var num1 = 200; // 局部变量
        //     console.log('赋值以前',num1);//200
        //     num1 = 500;
        //     console.log('赋值以后',num1);//500

        // }
        // console.log('全局之前',num1);//100
        // fn1();
        // console.log('全局之前',num1);// 100


        // var num1 = 100; // 全局变量
        // function fn1(){
        //     // 自己没有自己的变量
        //     num1 = 500;
        //     console.log('赋值以后',num1);//500

        // }
        // console.log('全局之前',num1);//100
        // fn1();
        // console.log('全局之前',num1);// 500


        function fn1(){
            // 自己没有自己的变量
            num1 = 500; // 然后往上找直到 window 如果window 也没有
            // 这个num1 就被看做全局变量
            console.log('赋值以后',num1);

        }
        // console.log('全局之前',num1);// 报错
        // num1 未定义 
        fn1();
        console.log('全局之前',num1);



    </script>
</body>
</html>